package org.japo.java.basics.main;

public class RodaduraNeumatico {

    public static void main(String[] args) {
        // Constantes
        final String CODIGO = "16R210";
        final double FACTOR_PUL = 0.0254; // 1 Pulg > 0.0254 m
        final double FACTOR_MIL = 0.001; // 1 mm > 0.001 m

        try {
            // Diametro > m
            String strDiametro = CODIGO.substring(0, CODIGO.indexOf("R"));
            double diametro = Double.parseDouble(strDiametro) * FACTOR_PUL;
            double perimetro = 2 * Math.PI * (diametro / 2);

            // Ancho > m
            String strAncho = CODIGO.substring(CODIGO.indexOf("R") + 1);
            double ancho = Double.parseDouble(strAncho) * FACTOR_MIL;

            // Area de rodadura - permetro * ancho > m2
            double rodadura = perimetro * ancho;

            // Resultado
            System.out.printf("Neumático .: %s\n", CODIGO);
            System.out.printf("Código 1 ..: %s\n", strDiametro);
            System.out.printf("Diámetro ..: %.2f m\n", diametro);
            System.out.printf("Perímetro .: %.2f m\n", perimetro);
            System.out.printf("Código 2 ..: %s\n", strAncho);
            System.out.printf("Ancho .....: %.2f m\n", ancho);
            System.out.printf("Rodadura ..: %.2f m2\n", rodadura);
        } catch (Exception e) {
            System.out.println("Error al procesar los datos");
        }
    }
}
